<?php

class SiteController extends Controller
{
  /**
   * Declares class-based actions.
   */
  public function actions()
  {
    return array(
    // captcha action renders the CAPTCHA image displayed on the contact page
			'captcha'=>array(
				'class'=>'CCaptchaAction',
				'backColor'=>0xFFFFFF,
        'minLength' => 7
    ),
    // page action renders "static" pages stored under 'protected/views/site/pages'
    // They can be accessed via: index.php?r=site/page&view=FileName
			'page'=>array(
				'class'=>'CViewAction',
    ),
    );
  }
  
  public function filters()
  {
    return array(
      'accessControl' // perform access control for CRUD operations
    );
  }
/**
   * Specifies the access control rules.
   * This method is used by the 'accessControl' filter.
   * @return array access control rules
   */
  public function accessRules()
  {
    return array(
      array(
        'deny',
        'actions' => array(
          'login',
        ),
        'users' => array(
          '@'
        )
      )
    );
  }
  /**
   * This is the default 'index' action that is invoked
   * when an action is not explicitly requested by users.
   */
  public function actionIndex()
  {
    $categories = Category::model()->getCategories('list');
    
    $this->render('index', array(
      'categories' => $categories
    ));
  }

  /**
   * This is the action to handle external exceptions.
   */
  public function actionError()
  {
    if($error=Yii::app()->errorHandler->error)
    {
      if(Yii::app()->request->isAjaxRequest)
      echo $error['message'];
      else
      $this->render('error', $error);
    }
  }

  /**
   * Displays the contact page
   */
  public function actionContact()
  {
    $this->layout = '//layouts/column2';
    $model     = new ContactForm;
    $adminInfo = AdminInfo::model()->findByAttributes(array(
      'username' => 'admin'
    ));
    
    if(isset($_POST['ContactForm']))
    {
      $model->attributes=$_POST['ContactForm'];
      
      if($model->validate())
      {
        //$name='=?UTF-8?B?'.base64_encode($model->name).'?=';
        $subject='=?UTF-8?B?'.base64_encode($model->subject).'?=';
        $headers="From: $model->name <{$model->email}>\r\n\n";

        $sent = Yii::app()->email->send(
                  'info@benthanhshopping.com', //from
                  $adminInfo->email, //to
                  $subject, //subject
                  $headers . $model->body); //body   
        //mail(Yii::app()->params['adminEmail'],$subject,$model->body,$headers);
        Yii::app()->user->setFlash('contact', Yii::t('default', 'Thank you for contacting us. We will respond to you as soon as possible.'));
        $this->refresh();
      }
    }
    $this->render('contact',array(
      'model' => $model,
      'adminInfo' => $adminInfo      
    ));
  }

  /**
   * Displays the login page
   */
  public function actionLogin()
  {
    $this->layout = '//layouts/column2';
    $model=new LoginForm;

    // if it is ajax validation request
    if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
    {
      echo CActiveForm::validate($model);
      Yii::app()->end();
    }

    // collect user input data
    if(isset($_POST['LoginForm']))
    {
      $model->attributes=$_POST['LoginForm'];
      // validate user input and redirect to the previous page if valid
      if($model->validate() && $model->login())
      $this->redirect(Yii::app()->user->returnUrl);
    }
    // display the login form
    $this->render('login',array('model'=>$model));
  }

  /**
   * Logs out the current user and redirect to homepage.
   */
  public function actionLogout()
  {
    Yii::app()->user->logout();
    $this->redirect(Yii::app()->homeUrl);
  }
  /**
   * Trang gioi thieu
   * @author Kieu Diem
   */
  public function actionAbout()
  {
    $content = '';
    $model = About::model()->findByPk(1);
    if (!empty($model)) {
      $content = (Yii::app()->language == 'en') ? $model->about_en : $model->about_vi;
    }
    
    $this->render('about', array(
      'content' => $content
    ));
  }
  /**
   * Change language
   * @author Kieu Diem
   */
  public function actionLanguage() {
    $lang = (isset($_GET['lang'])) ? $_GET['lang'] : 'vi';
    Yii::app()->session['language'] = $lang;
    $this->redirect($_SERVER['HTTP_REFERER']);
  }
}